﻿#region Header

/*
Remote views based on linq
By

Pascal Hauser 
Dipl. Ing. in Informatik, Hochschule für Technik Rapperswil, 2006
Master Thesis, Hochschule für Technik Rapperswil, 2008-2010

and

Raphael Gfeller
Dipl. Ing. in Informatik, Hochschule für Technik Rapperswil, 2006
Master Thesis, Hochschule für Technik Rapperswil, 2008-2010

*/

#endregion

#region Usings

using System;
using System.Collections.Generic;

#endregion

namespace Sebastof.Services.Interfaces {
	/// <summary>
	/// Is responsible for 
	/// - returning a dictionary of objects that are mapped to string based id's. 
	/// - returning a dictionary of string based id^s that are mapped to objects
	/// Use the IObjectMappingRegisterService to register mappings
	/// </summary>
	public interface IObjectMappingLocatorService {
		/// <summary>
		/// returns the object to id lookup table
		/// </summary>
		/// <returns></returns>
		Dictionary<object, string> GetObjectToIdMappingTable();

		/// <summary>
		/// returns the id to object lookup table
		/// </summary>
		/// <returns></returns>
		Dictionary<string, WeakReference> GetIdToObjectMappingTable();
	}
}